// 谈谈你是如何理解JS异步编程的，EventLoop、消息队列都是做什么的，什么是宏任务，什么是微任务？

/***
 * JS是单线程的，执行时会发生线程阻塞。JS引入异步编程通过回调的方式来解决阻塞
 * EventLoop是计算机系统的一种运行机制，用于等待和发送消息和事件，Js就采用这种机制来解决单线程运行带来的一些问题
 * 消息队列都是存储其他线程发过来的任务的
 * 消息队列里的任务就是宏任务，每一个宏任务都会配置一个微任务
 * 微任务执行时当前宏任务执行完毕，主线程退出之前
 ***/